This invention relates to an image processing method, an image processing apparatus and a computer readable memory. More particularly, the invention relates to an image processing method, an image processing apparatus and a computer readable memory for matching the color expressions of input and output devices having different color characteristics.
In order to achieve color matching between image data entered by an input device such as a monitor or scanner and image data output by an output device such as a color ink-jet printer based upon the entered image data, there is a known image processing system in which data (referred to as xe2x80x9cprofile dataxe2x80x9d below) that describes the input/output characteristics of various input/output devices is retained in the form of a database. The image processing system executes processing between the input image data and the output image data utilizing input/output profile data, which corresponds to these input/output devices, in actual image processing such as color matching.
ICC (International Color Consortium) profile data is well known as an industrial standard and is an example of profile data used in such an image processing system.
In regard to each item of profile data, a color space (Profile Connection Space, or PCS) that is independent of input/output devices is defined by CIE XYZ color space or CIE L*a*b* color space. The intermediate color space is established to make possible color matching between various input and output devices by performing processing in two steps, namely by making a conversion from color space dependent upon the input device to PCS and then making a conversion from PCS to color space dependent upon the output device. One PCS is defined for the data of each profile.
In regard to the data of each profile, data composed of a 3-input N-output look-up table or the like is retained as a database for performing the conversion from PCS to the color space dependent upon the input/output device or the conversion from the color space dependent upon the input/output device to PCS. These items of data are referred to in actual image processing such as color matching and either the data referred to is output or, in certain cases, interpolated data obtained by applying interpolation processing to the same data is output.
Further, in regard to the data of each profile, data consisting of a 3-input 1-output look-up table or the like is retained as a database which indicates whether a color specified by PCS is capable of being reproduced by the input/output devices. These items of data are referred to in color-reproduction range examination processing, which is for determining whether a specific color is capable of being reproduced by a certain input/output device, and either the data referred to is output or, in certain cases, interpolated data obtained by applying interpolation processing to the same data is output.
The structure of the data referred to at the time of such image processing as color matching is referred to as being of the Lut8Type or Lut16Type in regard to ICC profile data and, as shown in FIG. 9A, is composed of a 3xc3x973 matrix 20, a set 21 of three one-dimensional look-up tables (one-dimensional LUTs), a three-dimensional look-up table (three-dimensional LUT) 22 having d0xc3x97d0xc3x97d0 grid points each of which possesses N components, and a set 23 of N one-dimensional look-up tables (one-dimensional LUTs), where N represents the number of components in the color space of the output device. For example, N is equal to 3 in RGB color space and 4 in CMYK color space. Further, d0 represents the number of grid points along each color-space axis of the three-dimensional LUT.
Similarly, the structure of the data referred to at the time of such image processing as color matching is referred to as being of the Lut8Type or Lut16Type in regard to ICC profile data and, as shown in FIG. 9B, is composed of a 3xc3x973 matrix 20, a set 21 of three one-dimensional LUTs, a three-dimensional LUT 22 having d1xc3x97d1xc3x97d1 grid points each of which possesses one component, and a one-dimensional LUT 23, where d1 represents the number of grid points along each color-space axis of the three-dimensional LUT.
Consider a case where an image displayed on a color monitor in which color space is defined by RGB space is output to a color printer in which color space is defined by CMYK space. In accordance with the example of the prior art described above, first the RGB data is converted to device-independent PCS (RGBxe2x86x92PCS) in accordance with the processing flow shown in FIG. 9A, then PCS is converted to CMYK data (PCSxe2x86x92CMYK) in similar fashion in accordance with the processing flow shown in FIG. 9B.
However, since the 3xc3x973 matrix is used in the initial step of processing, this matrix can be employed in the RGBxe2x86x92PCS conversion but not in a CMYKxe2x86x92PCS conversion. Accordingly, the processing procedure is used upon modifying a part of the procedure in such a manner that the data defined in PCS will enter the one-dimensional LUT as is. By contrast, in a case where the printer that outputs the image handles image data that has been defined in YMC space, this matrix can be used.
Thus, with the processing of the prior art, there are cases where the standard processing procedure can be used as is and cases where it must be used after being partially modified, depending upon how the color space of the output device is defined. Such a processing technique lacks versatility.
In order to provide a preview of an output, it is necessary that an image be displayed on a color monitor, in which color space is defined by RGB, so as to reflect the output characteristic of the printer serving as the output device. To achieve this, it is desired that the image be output by performing the color space conversion by following a process that is the reverse of above-described process RGBxe2x86x92PCS, PCSxe2x86x92CMYK. In order to execute such processing, it would be ideal if the color-space matching processing also possessed a reversible characteristic.
In addition, the color reproduction characteristic of a printer varies depending upon the aging of the very components that construct the printer. For example, if the printer is a laser printer, the color reproduction characteristic varies owing to a change in the optical characteristic of the semiconductor laser, the reflection characteristic of the photosensitive drum, etc., with the passage of time.
Furthermore, regardless of the type of color matching processing executed, it is vital that the user of the apparatus executing this processing know in advance the kind of image processing being executed. It is required that the type of processing being executed be managed accurately at all times especially in an image processing system composed of various input and output devices.
Accordingly, an object of the present invention is to provide an image processing method and apparatus wherein it is possible to preview an image that takes into account a change in the color reproduction characteristic of an output device with the passage of time, as well as a computer readable memory storing a program for executing this preview processing.
According to one aspect of the present invention, the foregoing object is attained by providing an image processing method comprising a generating step of executing calibration of an output device, which outputs an image, in regard to an image output characteristic thereof, and generating a set of one-dimensional LUTs that conforms to a color reproduction characteristic of the output device, a first modifying step of modifying, on the basis of the set of one-dimensional LUTs, content of a first set of one-dimensional LUTs used when device-independent data that has been stored in a profile corresponding to the output device is converted to data dependent upon the output device, and a second modifying step of modifying, on the basis of the set of one-dimensional LUTs, a second set of one-dimensional LUTs used when data dependent upon the output device is converted to device-independent data.
The profile includes an output profile that describes the output characteristic of the output device, and the output profile includes, as color processing data for converting the device-independent data to the data dependent upon the output device, (1) a first 3xc3x973 matrix, (2) a first set of three one-dimensional LUTS, (3) a first three-dimensional LUT, and (4) a first set of N one-dimensional LUTs, and further includes, as color processing data for converting the data dependent upon the output device to the device-independent data, (1) a second set of N one-dimensional LUTs, (2) a second N-dimensional LUT, (3) a second set of three one-dimensional LUTs, and (4) a second 3xc3x973 matrix.
The image processing method may further comprise a step of converting the device-independent data to the data dependent upon the output device by applying processing using (1) the first 3xc3x973 matrix, (2) the first set of three one-dimensional LUTS, (3) the first three-dimensional LUT and (4) the first set of N one-dimensional LUTs in the order mentioned.
The image processing method may further comprise a step of converting the data dependent upon the output device to the device-independent data by applying processing using (1) the second 3xc3x973 matrix, (2) the second set of three one-dimensional LUTs, (3) the second N-dimensional LUT and (4) the second set of N one-dimensional LUTs in the order mentioned.
The profile further includes an input profile that describes a display characteristic of a display device that displays an image, and the input profile includes, as color processing data for converting the device-independent data to the data dependent upon the display device, a third 3xc3x973 matrix and a third set of N one-dimensional LUTs.
The image processing method may further comprise a step of converting the device-independent data to the data dependent upon the display device by applying processing using the third 3xc3x973 matrix and the third set of N one-dimensional LUTs in the order mentioned.
Here the output device is a printer and it is preferred that the data used by the printer be defined by CMYK space and that the device-independent data be defined by XYZ space. Further, the display device is a display monitor and it is preferred that the data used by the display monitor be defined by RGB space.
Further, it is preferred that the set of one-dimensional LUTs be stored together with calibration information but separately from the profile.
The image processing method may further comprise a transfer step of transferring the set of one-dimensional LUTs to a device driver corresponding to the output device.
According to another aspect of the present invention, the foregoing object is attained by providing an image processing apparatus comprising generating means for executing calibration of an output device, which outputs an image, in regard to an image output characteristic thereof, and generating a set of one-dimensional LUTs that conforms to a color reproduction characteristic of the output device, first modifying means for modifying, on the basis of the set of one-dimensional LUTs, content of a first set of one-dimensional LUTs used when device-independent data that has been stored in a profile corresponding to the output device is converted to data dependent upon the output device, and second modifying means for modifying, on the basis of the set of one-dimensional LUTs, a second set of one-dimensional LUTs used when data dependent upon the output device is converted to device-independent data.
According to still another aspect of the present invention, the foregoing object is attained by providing a computer readable memory storing an image processing program, comprising codes for executing calibration of an output device, which outputs an image, in regard to an image output characteristic thereof, and for executing processing for generating a set of one-dimensional LUTs that conforms to a color reproduction characteristic of the output device, codes for executing processing for modifying, on the basis of the set of one-dimensional LUTS, content of a first set of one-dimensional LUTs used when device-independent data that has been stored in a profile corresponding to the output device is converted to data dependent upon the output device, and codes for executing processing for modifying, on the basis of the set of one-dimensional LUTs, a second set of one-dimensional LUTs used when data dependent upon the output device is converted to device-independent data.
In accordance with the above-described aspects of the present invention, calibration processing in regard to the image output characteristic of an output device that outputs an image is executed and a set of one-dimensional LUTs that conforms to the color reproduction characteristic of the output device is generated. On the basis of the set of one-dimensional LUTs, the content of a first set of one-dimensional LUTs, which is used when device-independent data that has been stored in a profile corresponding to the output device is converted to data dependent upon the output device, is modified, and a second set of one-dimensional LUTs, which is used when data dependent upon the output device is converted to device-independent data, is modified.
Another object of the present invention is to provide an image processing method and apparatus wherein it is possible to execute color matching processing having a high degree of versatility.
According to one aspect of the present invention, the foregoing object is attained by providing an image-processing method comprising a generating step of applying calibration processing to an output device that outputs an image, and generating a set of one-dimensional LUTs that conforms to a color reproduction characteristic of the output device, a storing step of storing the generated set of one-dimensional LUTs separately of a profile that describes an output characteristic of the output device into a memory, a modifying step of modifying, on the basis of the set of one-dimensional LUTs when color matching processing is executed using the profile, content of the set of one-dimensional LUTs used when device-independent data that has been stored in the profile corresponding to the output device is converted to data dependent upon the output device, and a color matching execution step of executing color matching processing using the profile that has been modified at the modifying step.
According to another aspect of the present invention, the foregoing object is attained by providing an image processing apparatus comprising generating means for applying calibration processing to an output device that outputs an image, and generating a set of one-dimensional LUTs that conforms to a color reproduction characteristic of the output device, first storage means for storing the set of one-dimensional LUTs generated by the generating means, second storage means for storing a profile that describes an output characteristic of the output device, modifying means for modifying, on the basis of the set of one-dimensional LUTs when color matching processing is executed using the profile, content of the set of one-dimensional LUTs used when device-independent data that has been stored in the profile corresponding to the output device is converted to data dependent upon the output device, and color matching execution means for executing color matching processing using the profile that has been modified by the modifying means.
According to still another aspect of the present invention, the foregoing object is attained by providing a computer readable memory storing an image processing program, comprising codes for applying calibration processing to an output device that outputs an image, and for executing processing for generating a set of one-dimensional LUTs that conforms to a color reproduction characteristic of the output device, codes for executing processing for storing the generated set of one-dimensional LUTs separately of a profile that describes an output characteristic of the output device into a memory, codes for executing processing for modifying, on the basis of the set of one-dimensional LUTs when color matching processing is executed using the profile, content of the set of one-dimensional LUTs used when device-independent data that has been stored in the profile corresponding to the output device is converted to data dependent upon the output device, and codes for executing color matching processing using the profile that has been modified.
In accordance with the above-described aspects of the present invention, calibration of an output device that outputs an image is executed and a set of one-dimensional LUTs that conforms to the color reproduction characteristic of the output device is generated. The set of one-dimensional LUTs that has been generated is stored separately of a profile that describes the output characteristic of the output device. On the basis of the set of one-dimensional LUTs when color matching processing is executed using the profile, the content of a first set of one-dimensional LUTs, which is used when device-independent data that has been stored in the profile corresponding to the output device is converted to data dependent upon the output device, is modified, and color matching processing is executed using the profile that has been modified.
Still another object of the present invention is to provide an image processing method and apparatus capable of executing color matching processing that takes into account a change in the color reproduction characteristic of an output device with the passage of time and further capable of managing a profile necessary for processing to accomplish this, as well as a computer readable memory storing a program for executing this management.
According to one aspect of the present invention, the foregoing object is attained by providing an image processing method comprising a storage step of storing a plurality of profiles used in color matching processing into a memory, a setting step of setting management information for each of the plurality of profiles based upon an instruction from a user, and a management step of managing the profiles based upon the management information that has been set.
According to another aspect of the present invention, the foregoing object is attained by providing storage means for storing a plurality of profiles used in color matching processing, setting means for setting management information for each of the plurality of profiles based upon an instruction from a user, and management means for managing the profiles based upon the management information that has been set by the setting means.
The management information may indicate whether modification of a profile is allowed or not. The setting means preferably has a graphical user interface for allowing the user to enter instruction.
According to still another aspect of the present invention, the foregoing object is attained by providing a computer readable memory storing an image processing program, comprising codes for executing processing for storing a plurality of profiles used in color matching processing into a memory, codes for executing processing for setting management information for each of the plurality of profiles based upon an instruction from a user, and codes for executing processing for managing the profiles based upon the management information that has been set.
In accordance with the above-described aspects of the present invention, a plurality of profiles used in color matching are stored, management information for each of the plurality of profiles is set based upon an instruction from the user and the profiles are managed based upon the management information that has been set.
The invention is particularly advantageous since the color reproduction characteristic of an output device obtained by performing calibration processing in regard to the image output characteristic of the output device is reflected when device-independent data is converted to data that depends upon output device or when data that depends upon output device is converted to device-independent data. As a result, it is possible to preview an image that reflects the aging of the image output device.
Further, in accordance with the present invention, it is possible to execute color matching processing that conforms to a color reproduction characteristic reflecting the aging of the output device, and a profile for performing this processing can be managed at will.
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.